This application relates to majority vote circuits, and to their use in various applications including bus inversion circuits.
Majority vote circuits are common circuits that have many applications. A majority vote circuit receives multiple bits and determines whether there are more logic “0” bits, or more logic “1” bits. Such bits are generally received through conductive lines that may have a higher voltage, or lower voltage, designating “0” or “1”. Assignment of a logic state to a voltage is arbitrary (i.e. high voltage could correspond to “0” and low voltage to “1” or vice versa). A majority vote circuit gives an output that reflects whether the majority of inputs are high or low. Typically, there is an even number of inputs so that there can be an equal number of bits in each logic state and this case may be provided for by having a tie-breaker of some sort so that the output in this case is predetermined as either a “0” or a “1.”
FIG. 1 shows a simple illustration of a prior art majority vote circuit. Multiple individual conductors (n conductors in this example) form a parallel communication channel that provides an input to the majority vote circuit. For example, 8 conductors may provide an 8-bit (one byte) input. Such a parallel input provides one byte at a time as a data word. Typically, one data word is provided at each clock cycle, though higher data rates are possible. The majority vote circuit generates an output (O/P) that indicates the majority logic state for a particular data word.
FIG. 2 shows an example of a prior art digital majority vote circuit that uses full adders to add together nine inputs and provide an output that is high if five or more of the nine inputs are high. However, such digital circuits are generally slow and cannot generate the output in a single clock cycle. Thus, such digital circuits may be unsuitable for high-speed applications.
FIG. 3 shows an example of an analog majority vote circuit where individual inputs are combined at a common node which is pulled to a high or low voltage according to the majority of inputs provided. This node is compared with a threshold voltage by a comparator. The value of the threshold voltage may be selected so that an output remains low when the number of high inputs is four or fewer. When five or more inputs are high, the common node reaches a voltage that exceeds the threshold voltage and the comparator output changes. However, while such analog majority vote circuits may be relatively fast, they are not accurate or reliable especially for a large numbers of inputs. Analog majority vote circuits may also consume significant power.
Conventional majority vote circuits suffer from several drawbacks including speed, reliability, and size. Therefore, there is a need for fast, reliable, small majority vote circuits.